System and method for providing content to a mobile device

ABSTRACT

A mobile computing device comprises a memory and a processing circuit. The memory is configured to store use data indicative of a pattern of past uses of the mobile computing device. The processing circuit is configured to determine a present condition and to perform a function based at least in part on the use data and the present condition.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of U.S. ProvisionalApplication No. 61/140,562, filed Dec. 23, 2008, which is incorporatedherein by reference in its entirety.

BACKGROUND

The present disclosure relates generally to the field of mobile devices,and more specifically, to systems and methods for performing functionsbased on past uses of a device or behaviors of a user of the device.

BRIEF DESCRIPTION

FIG. 1 is a front view of a mobile device according to an exemplaryembodiment.

FIG. 2 is a back view of the mobile device of FIG. 1 according to anexemplary embodiment.

FIG. 3 is a side view of the mobile device of FIG. 1 according to anexemplary embodiment.

FIG. 4 is a block diagram of the mobile device of FIG. 1 according to anexemplary embodiment.

FIG. 5 is a block diagram of a system for providing content to a mobiledevice according to an exemplary embodiment.

FIG. 6 is a flow chart of a method of providing content to a mobiledevice according to an exemplary embodiment.

FIG. 7 is a front view of a display of a mobile device according to anexemplary embodiment.

FIG. 8 is a front view of a display of a mobile device according to anexemplary embodiment.

FIG. 9 is a front view of a display of a mobile device according to anexemplary embodiment.

FIG. 10 is a flowchart of a system and method for performing a functionbased on use data and a present condition, accordingly to an exemplaryembodiment.

DETAILED DESCRIPTION

Referring to FIGS. 1-3, a mobile device 10 is shown. The teachingsherein can be applied to device 10 or to other electronic devices (e.g.,a desktop computer), mobile computing devices (e.g., a laptop computer)or handheld computing devices, such as a personal digital assistant(PDA), smartphone, mobile telephone, personal navigation device, etc.According to one embodiment, device 10 may be a smartphone, which is acombination mobile telephone and handheld computer having PDAfunctionality. PDA functionality can comprise one or more of personalinformation management (e.g., including personal data applications suchas email, calendar, contacts, etc.), database functions, wordprocessing, spreadsheets, voice memo recording, Global PositioningSystem (GPS) functionality, etc. Device 10 may be configured tosynchronize personal information from these applications with a computer(e.g., a desktop, laptop, server, etc.). Device 10 may be furtherconfigured to receive and operate additional applications provided todevice 10 after manufacture, e.g., via wired or wireless download,SecureDigital card, etc.

As shown in FIGS. 1-3, device 10 includes a housing 12 and a front side14 and a back side 16. Device 10 further comprises a display 18 and auser input device 20 (e.g., a QWERTY keyboard, buttons, touch screen,speech recognition engine, etc.). Display 18 may comprise a touch screendisplay in order to provide user input to a processor 40 (see FIG. 4) tocontrol functions, such as to select options displayed on display 18,enter text input to device 10, or enter other types of input. Display 18also provides images (see, e.g., FIG. 7) that are displayed and may beviewed by users of device 10. User input device 20 can provide similarinputs as those of touch screen display 18. Device 10 can furthercomprise a speaker 26, and a stylus 30 to assist the user in makingselections on display 18. Display 18 may comprise a capacitive touchscreen, a mutual capacitance touch screen, a self capacitance touchscreen, a resistive touch screen, a touch screen using cameras and lightsuch as a surface multi-touch screen, proximity sensors, or other touchscreen technologies, and so on. Display 18 may be configured to receiveinputs from finger touches at a plurality of locations on display 18 atthe same time. Display 18 may be configured to receive a finger swipe orother directional input, which may be interpreted by a processingcircuit to control certain functions distinct from a single touch input.

According to an exemplary embodiment, housing 12 is configured to hold ascreen such as display 18 in a fixed relationship above a user inputdevice such as user input device 20 in a substantially parallel or sameplane. This fixed relationship excludes a hinged or movable relationshipbetween the screen and the user input device (e.g., a plurality of keys)in the fixed embodiment.

Device 10 may be a handheld computer, which is a computer small enoughto be carried in a hand of a user, comprising such devices as typicalmobile telephones and personal digital assistants, but excluding typicallaptop computers and tablet PCs. The various input devices and othercomponents of device 10 as described below may be positioned anywhere ondevice 10 (e.g., the front surface shown in FIG. 1, the rear surfaceshown in FIG. 2, the side surfaces as shown in FIG. 3, etc.).Furthermore, various components such as a keyboard etc. may beretractable to slide in and out from a portion of device 10 to berevealed along any of the sides of device 10, etc.

According to various exemplary embodiments, housing 12 may be any size,shape, and have a variety of length, width, thickness, and volumedimensions. For example, width 13 may be no more than about 200millimeters (mm), 100 mm, 85 mm, or 65 mm, or alternatively, at leastabout 30 mm, 50 mm, or 55 mm. Length 15 may be no more than about 200mm, 150 mm, 135 mm, or 125 mm, or alternatively, at least about 70 mm or100 mm. Thickness 17 may be no more than about 150 mm, 50 mm, 25 mm, ormm, or alternatively, at least about 10 mm, 15 mm, or 50 mm. The volumeof housing 12 may be no more than about 2500 cubic centimeters (cc) or1500 cc, or alternatively, at least about 1000 cc or 600 cc.

Referring now to FIG. 4, device 10 comprises a processing circuit 46comprising a processor 40. Processor 40 can comprise one or moremicroprocessors, microcontrollers, and other analog and/or digitalcircuit components configured to perform the functions described herein.Processor 40 may comprise one or more memories (e.g., random accessmemory, read only memory, flash, etc.) configured to store softwareapplications provided during manufacture or subsequent to manufacture bythe user or by a distributor of device 10. In one embodiment, processor40 can comprise a first applications microprocessor configured to run avariety of personal information management applications, such as email,a calendar, contacts, etc., and a second, radio processor on a separatechip or as part of a dual-core chip with the application processor. Theradio processor may be configured to operate telephony functionality.Device 10 can be configured for cellular radio telephone communication,such as Code Division Multiple Access (CDMA), Global System for MobileCommunications (GSM), Third Generation (3G) systems such as Wide-BandCDMA (WCDMA), or other cellular radio telephone technologies. Device 10can further be configured for data communication functionality, forexample, via GSM with General Packet Radio Service (GPRS) systems(GSM/GPRS), CDMA/1XRTT systems, Enhanced Data Rates for Global Evolution(EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO),and/or other data communication technologies.

Device 10 comprises a receiver 38 which comprises analog and/or digitalelectrical components configured to receive and transmit wirelesssignals via antenna 22 to provide cellular telephone and/or datacommunications with a fixed wireless access point, such as a cellulartelephone tower, in conjunction with a network carrier, such as, VerizonWireless, Sprint, etc. Device 10 can further comprise circuitry toprovide communication over a local area network, such as Ethernet oraccording to an IEEE 802.11x standard or a personal area network, suchas a Bluetooth or infrared communication technology.

Device 10 further comprises a microphone 36 (see FIG. 2) configured toreceive audio signals, such as voice signals, from a user or otherperson in the vicinity of device 10, typically by way of spoken words.Alternatively or in addition, processor 40 can further be configured toprovide video conferencing capabilities by displaying on display 18video from a remote participant to a video conference, by providing avideo camera on device 10 for providing images to the remoteparticipant, by providing text messaging, two-way audio streaming infull- and/or half-duplex mode, etc.

Device 10 further comprises a location determining application, shown inFIG. 3 as GPS application 44. GPS application 44 can communicate withand provide the location of device 10 at any given time. Device 10 mayemploy one or more location determination techniques including, forexample, Global Positioning System (GPS) techniques, Cell GlobalIdentity (CGI) techniques, CGI including timing advance (TA) techniques,Enhanced Forward Link Trilateration (EFLT) techniques, Time Differenceof Arrival (TDOA) techniques, Angle of Arrival (AOA) techniques,Advanced Forward Link Trilateration (AFTL) techniques, Observed TimeDifference of Arrival (OTDOA) techniques, Enhanced Observed TimeDifference (EOTD) techniques, Assisted GPS (AGPS) techniques, hybridtechniques (e.g., GPS/CGI, AGPS/CGI, GPS/AFTL or AGPS/AFTL for CDMAnetworks, GPS/EOTD or AGPS/EOTD for GSM/GPRS networks, GPS/OTDOA orAGPS/OTDOA for UMTS networks), triangulation techniques such as Wi-Fitriangulation techniques, and so forth.

Device 10 may be arranged to operate in one or more locationdetermination modes including, for example, a standalone mode, a mobilestation (MS) assisted mode, and/or an MS-based mode. In a standalonemode, such as a standalone GPS mode, device 10 may be arranged toautonomously determine its location without real-time networkinteraction or support. When operating in an MS-assisted mode or anMS-based mode, however, device 10 may be arranged to communicate over aradio access network (e.g., UMTS radio access network) with a locationdetermination entity such as a location proxy server (LPS) and/or amobile positioning center (MPC).

Device 10 further comprises a memory 42 coupled to or as part ofprocessor 40. Memory 42 may store a variety of data (e.g., context data,etc.) such as information, data, applications, files, etc. that may beused or accessed using device 10. For example, calendar data may includedata regarding various appointments such as location data (e.g., anindividual's residence, a commercial establishment, an address or othergeographic indicator such as a city, state, etc., a conference roomnumber, and so on), time/date data (e.g., a date and/or time for aspecific appointment, data regarding a recurring appointment, etc.),attendee data, and other data related to an appoint or meeting. Contactsdata may include information regarding specific contacts, such as names,addresses, phone numbers, email addresses, fax numbers, andcontact-specific notes (e.g., notes about the specific contact such as abirthday, anniversary, etc.). Messaging data may include informationrelated to a variety of messaging applications including email, textmessaging, short message service (SMS), and so on. According to variousother exemplary embodiments, device 10 may utilize other context data inaccordance with the various embodiments disclosed herein (e.g., datarelated to web-sites the user has visited using device 10, bookmarks orfavorites for web-sites, data downloaded from a user's social networkingaccount on a web-site (e.g., a MySpace or Facebook account), datarelated to audio and/or video clips (e.g., songs, videos, etc.), to-dolists, memo applications, gaming applications, etc.). The presentdisclosure is intended to be applicable to all such embodiments.

Referring now to FIG. 5, device 10 may be configured to receive andprovide content (e.g., generic alerts or notifications, generalinquiries, advertisement data, selectable links, icons, etc., and so on)to users. As shown in FIG. 5, device 10 may communicate with servers 50,52, which may in turn communicate with one or more advertisement sources54, 56, 58 (e.g., ad sources such as retailers, restaurants, services,etc.). According to an exemplary embodiment, server 52 may be anadvertisement service configured to provide advertisement data (e.g.,visual advertisements, audible advertisements, e-coupons, etc.) from adsources 54, 56, 58 to device 10 (either in coordination with, orindependent from, servers 48, 50, as discussed in further detail below).Server 50 may be a server associated with an application developer thatprovides applications to be run on or provided to device 10.Alternatively, server 50 and/or server 52 may be a server associatedwith a manufacturer of device 10. In some embodiments, sources 54, 56,58 may provide advertisement data to device 10 without utilizing servers50, 52 (e.g., such that the advertisement data is received by processor40 of device 10 from sources 54, 56, 58).

According to various exemplary embodiments, the advertisement data orcontent may include a variety of information and be provided in avariety of ways. For example, content may be provided to a user ofdevice 10 in the form of a visual image provided on display 18. Forexample, an icon may be displayed on device 10 and may be selected by auser to provide an enlarged advertisement such as an electronic coupon,etc. Alternatively, rather than providing a visual display, device 10may provide an audible message (e.g., a recording of an advertisement,etc.). Furthermore, advertisement data may be provided on display 18 andsuperimposed over another image, such as the current image the user isviewing, a geographic map indicating the location of theestablishment(s) the advertisement data is associated with, and so on.Further yet, the content may include or be non-advertisement data suchas general point-of-interest data, appointment data, etc. According tovarious other exemplary embodiments, other types of content oradvertisement data may be provided to device 10 (e.g., text, graphics,audio data, video data, etc.).

According to various exemplary embodiments, one or more of servers 50,52 may be involved in providing content or advertisement data to device10. For example, in one embodiment, server 52 may be associated with anadvertisement service (e.g., AdSense, provided by Google, Inc., MountainView, Calif.) and be configured to provide advertisement data to device10 independent from server 50. For example, as shown in FIG. 5, server52 may communicate with device 10 and with one or more of ad sources 54,56, 58. Ad sources 54, 56, 58 may provide advertisement data to server52, which may in turn provide the advertisement data to mobile device10. In one example, server 52 may provide the advertisement data basedat least in part on certain criteria or data (e.g., to act as a filterto provide advertisement data having higher relevance to a user), suchas a location of device 10, historical data associated with the usage ofdevice 10 (e.g., web browsing history, location history), user-specificdata (data stored in an information management application such as anemail application, calendar application, contacts application, and soon), or some other criteria or data. Such criteria or data may bedefined by a user and the access to such criteria or data for filteringor otherwise providing advertisement data and other content to device 10may be limited by a user or other entity. In some embodiments, server 52may permit various ad sources (e.g., ad sources 54, 56, 58) to registerwith server 52 in order to have their advertisement data provided tousers (e.g., a user of device 10). Based on certain criteria or data,the advertisement data may then be selected for delivery to variousdevices/users.

According to other embodiments, server 52 may be configured to provideadvertisement data or other content to device 10 in conjunction with orthrough server 50. For example, as noted above, server 50 may be orinclude a server associated with an application developer that providesapplications (e.g., mobile device-specific applications, such as games,financial tools, location-based mapping programs, music players, etc.)to device 10. Advertisement data may be provided to (by one or more ofservers 50, 52) and/or displayed on device 10 while one or moreapplications provided by server 50 are running on device 10. Forexample, one or more advertisements provided by server 52 may bedisplayed along a top, side, or bottom portion of display 18 while auser is running an application provided by server 50.

In some embodiments, server 50 may be a server associated with amanufacturer of device 10, and may have wireless or other access to dataunavailable to server 52 (e.g., user-specific data such as data from aninformation management application, including email, calendar, contacts,and other applications). Server 50 may provide data associated withdevice 10 (and/or the associated user) to server 52. Such data may beused, for example, to filter advertisement data or other content beingprovided to device 10 to increase the relevancy of the advertisementdata to the particular device/user. It should be understood that thevarious embodiments discussed herein are provided for purposes ofillustration only, and that more or fewer servers or otherparties/entities may be involved in the provision of advertisement dataor other content to device 10. All such embodiments are deemed to bewithin the scope of the present disclosure.

Referring now to FIGS. 6-9, content may be provided to device 10 basedon context data or other information that may indicate where a user is,what the user is /will /has been doing, and so on. Context data maygenerally refer to data associated with the context of device 10 or auser thereof, and may include historical data (e.g., data associatedwith past usage patterns of device 10 such as movement of the device,locations of the device, messaging data, web browsing activity,transactions executed using device 10, etc.), data associated with thecurrent state of device 10 (e.g., mobile-specific inputs such as acurrent location, direction of travel, speed/acceleration of movement,etc., a current time of day, date, etc.), data associated with aninformation management application (e.g., an email or other messagingapplication, a calendar application, a contacts application, and so on),or other data accessible by or otherwise associated with device 10 or auser thereof (e.g., data associated with mobile devices or users ofmobile devices that are included in a contact listing, social networkinggroup, listing, category, etc., other mobile-specific inputs, and soon). Context data may in some embodiments generally refer to any type ofdata or information that may be used to determine a user's context, andmay include or indicate usage patterns of device 10 such as on/offpatterns (e.g., a pattern of higher of usage (e.g., times of day duringwhich device 10 is typically on or off, etc.), web browsing (e.g., websites visited, etc.), location/movement history (e.g., modes of travel,locations visited, etc.), and so on.

As an example, device 10 may access data indicating a planned/futuredestination (e.g., location) of a user (e.g., as indicated by a calendaror other information management application) in addition to the user'scurrent location, and provide the user with data regarding nearby pointsof interest (e.g., hours of operation, whether open /closed, etc.) orother establishments. Similarly, device 10 may access data indicatingthat the user is outside of a particular geographic area (e.g., outsidea certain distance from a home location, a work location, etc., outsidean area code of a mobile phone number associated with device 10, outsideof an address contained in a contacts application, and so on), and/ordata indicating that a user has recently moved locations (e.g., as aresult of travelling via plane, train, etc.), and trigger the deliveryof content based on the user's location and/or on a time-sensitive basis(e.g., based on departure times, arrival times, etc.).

Device 10 may further access data indicating that a user has “free time”(e.g., as indicated by an appointment calendar or other application) andprovide content regarding points of interest or establishments in thevicinity of the user (or similarly, on or near a route between the userand a location associated with one or more scheduled appointments). Asan additional example, should the user be waiting for a bus, train,plane, etc., or some other type of public or other transportation,device 10 may provide time-sensitive offers for nearby establishments tothe user based on, for example, the user's available time prior to ascheduled departure time.

As indicated above, device 10 may be configured to provide (e.g.,deliver, trigger or initiate the delivery of, filter, etc.) contentbased on context data. According to some embodiments, the content may beprovided in the form of a generic alert or notification (e.g., “Are youhungry?”, “Do you want to listen to music?”, “Would you like to try anew restaurant?”, “Would you like to visit one of your favoriterestaurants?”, “Do you want to send an invite out to your friends?”,etc.) that when selected, directs a user to more specific data orinformation (e.g., “Lunch Special at Sam's Deli today”, etc.).

Other examples of generic content may include content offering the bestprice for a certain item or service (e.g., “Looking for the best pricefor gas near you?”), or similarly, content offering to locate apreferred vendor, point of interest, etc., such as a gas station, fastfood restaurant, coffee shop, etc. that, based on a user's currentlocation, a given mode of transportation, and/or the hours of operationof the vendor or establishment, will still be open when the user arrives(e.g., “Looking for the nearest gas station?”). Other generic alerts mayinclude offers to locate ATM machines or other computer terminal or userterminals (e.g., taking into account any additional fees charged by theATM), public parking (e.g., taking into account hours of operation,pricing, etc.), lodging (e.g., taking into account vacancy, room rates,and other data regarding hotels, etc.), and so on. Various other typesof generic alerts may be provided that take into account a wide varietyof context data and other data (e.g., metadata associated with variousestablishments, etc.) in order to increase the relevancy of the contentto users.

According to various alternative embodiments, context data may be storedin a variety of ways and utilizing a variety of storage devices andsystems, such as in memory of a mobile device such as device 10, usingone or more servers that are separate from device 10, using one or moreservers that are associated with an ad service, an ad sponsor (e.g., aretailer, etc.), via a data storage system accessible via the Internetor another network system, and so on. Other suitable means of storingcontext data may be used according various other embodiments.

Referring to FIG. 6, a method of providing content to a user isillustrated according to an exemplary embodiment. First, context datamay be accessed (e.g., retrieved, monitored, stored, etc.) (step 62).Accessing context data may be done by processor 40, servers 50, 52, or acombination thereof. As discussed above, accessing context data mayinclude accessing or monitoring a wide variety of data either stored ondevice 10 or otherwise accessible by device 10.

Based upon the context data, content may be provided to device 10 (step64). According to an exemplary embodiment, the content is provided in ageneric format (e.g., as a generic notification or alert, etc.) and isnot tied to any particular entity such as ad sources 54, 56, 58, etc.The content may include a selectable link such that an input (e.g., aselection of the link) may be received by device 10 (step 66) inresponse to the content being provided. Upon receipt of the input,additional content may be provided to a user (e.g., more specific data,advertisement data, driving or other directions, etc.) (step 68). Theadditional content may include, for example, advertisement data from adsources 54, 56, 58, point of interest information (e.g.,non-advertisement data or information about specific destinations, whichmay be in proximity to device 10 or in some other predeterminedgeographic location(s), a website, and so on).

It should be understood that the method illustrated in FIG. 6 is widelyapplicable to various types of context data. Utilizing context datatakes into consideration a user's context in triggering content such asgeneric notifications, advertisement data, and other content, and mayenhance the quality of the content provided to users by increasing therelevancy of the content to the user in accordance with the user'scontext (e.g., location, current appointments, historical usagepatterns, etc.).

In some embodiments, content may be provided based on time data and/ordata from a personal information management application such as acalendar application. For example, at a predetermined time (e.g., atypical meal time such as lunch time, etc., a user-configurable time, apre-set time, etc.), calendar data associated with device 10 may beaccessed to determine, for example, whether a user has an appointmentscheduled (e.g., a lunch appointment). If the user has no appointmentscheduled, device 10 may be configured to provide the user with contentsuch as a generic alert or notification (e.g., “Are you hungry?”, “Doyou want to go out to eat?”, etc.). The notification may include aselectable link or be otherwise selectable (e.g., via a touch screen orother input device), such that should the user select, for example, alink provided with the generic notification, device 10 may then providemore specific, additional content or information. The additional contentmay be any of a wide variety of content, including targetedadvertisements (e.g., ads, e-coupons, discounts, etc. selected based onpast user behavior, the location of the user, user-configurablepreference data, etc.), an option to send out a notification to otherusers or mobile devices (e.g., an option to send out a lunch invitationto other mobile devices identified via a contacts application, a socialnetworking application or listing, the location(s) of otherusers/devices, etc.), and so on. The process of providing progressivelymore specific data to device 10 in response to continued responses orother user inputs may be repeated as part of providing content to device10.

In some embodiments, content may be provided based upon the movementand/or location of device 10. For example, device 10 may be configuredto, for example, determine when a user has left a building or similarenvironment, which may in turn trigger the delivery of content to theuser (e.g., “Need directions?”, etc.). In order to provide content withgreater relevancy, device 10 may further take into account a directionof travel (e.g., via an integrated compass, etc.), a speed of travel(e.g., via a GPS system, accelerometer, etc.), and so on. For example,the content provided to the user may vary based on what points ofinterest are in the general direction of travel of device 10, based on apredicted mode of travel (e.g., walking, driving, etc.) determined basedupon the speed of travel, based on calendar appointment data (e.g., byknowing where a user may be going based upon appointment data), and soon.

In some embodiments, content may be provided to additional devices basedon inputs associated with, or content provided to, device 10. Forexample, content such as an advertisement may be provided to a user viadisplay 18 of device 10. A user may select the advertisement in order tonavigate to, for example, a web site hosted by the source of theadvertisement. In response to the user selecting the advertisement,additional content may automatically be provided to additional devices(e.g., additional mobile devices identified in a social network listing,etc.). For example, should a user select a particular advertisement, thesame or a similar advertisement may be provided to a group of users thatare in a contacts application of the user, users that may be identifiedbased upon some type of social networking grouping or listing (e.g., viabeing identified as “friends,” contacts,” etc. as part of an applicationor web-based service such as Facebook, MySpace, etc. (or a list ofcontacts having a particular designation on such a service)), users thatmay be designated, flagged or somehow identified by a user and stored ondevice 10 and/or a server, etc., and so on. Various other means ofidentifying a social network listing may be used, and the listings mayoverlap or may be mutually exclusive, etc. For example, social networklistings may include email listings (e.g., personal or professionallistings or groups, such as a marketing group of a business, a salesteam, etc.) a class list for a particular academic institution and/oryear, a sports team (e.g., a school and/or youth sports team, etc.)and/or other social network listings that may be more or lesspermanent/temporary in nature.

Referring to FIGS. 7-9, display 18 is shown according to variousexemplary embodiments as including content provided to a user. Referringto FIG. 7, content such as generic notifications, advertisement data,etc., may include or be provided in the form of a selectable link oridentifier 80 (e.g., an icon, selectable text or graphics, etc.). Link80 may be an icon with a graphical representation intended to convey amessage to a user (e.g., such as an icon with a graphical representationof a map that is associated with driving directions, etc., and so on).Icon 80 may be sized such that it is relatively smaller than one or moreother icons or identifiers (e.g., icons or other identifiers associatedwith applications, files, etc. available to device 10) provided ondisplay 18 in order to provide content to users in an unobtrusivemanner. Furthermore, icon 80 may be provided as part of a status ornotification bar or area 74 on display 18. As shown in FIG. 7, thecontent or icon and notification or status bar may be provided in any ofwide variety of locations on display 18, including a bottom portion (seeicon 80 and notification bar 74), a side portion (see notification bars72, 76), or a top portion (see notification bar 70). In someembodiments, an application developer (e.g., a developer associated withone of servers 50, 52) may be permitted to feed or provideadvertisements or other data to a notification bar displayed on device10, or alternatively, to have advertisements or other content embeddedwithin the area of the display being used by one or more applications.According to various exemplary embodiments, icon 80 may be provided inother areas or portions than those shown in FIG. 7.

Referring to FIG. 8, should a user select icon 80, the user may beprovided with additional content 84. Additional content 84 may include ageneric notification or message, advertisement data from an ad source(e.g., one or more of ad sources 54, 56, 58, etc.), non-advertisementdata, etc. For example, icon 80 may include a representation of a map.Upon clicking on the map, a user may be provided with additional content84, which may include a generic notification or question such as “Do youneed directions?”. Additional content 84 may include a selectable linkthat enables a user to select additional content 84. Upon a userselecting additional content 84, the user may be provided with yetfurther content 86. For example, content 86 may include drivingdirections, a list of popular destinations for a user (which may beselectable to provide even further content), and so on.

As shown in FIG. 7-9, as a user continues to provide inputs (e.g.,selecting content provided to device 10), the content provided maycontinue to increase in size or prominence (e.g., as shown with theincreasing relative sizes of icon 80, additional content 84, and content86). Furthermore, the amount of content provided may increase as a usercontinues to engage the content provided. Further yet, the specificityof the content may increase as a user becomes more engaged (e.g., fromgeneric to greater levels of specificity).

According to various exemplary embodiments, as a user continues toengage the content provided to device 10, a user may be permitted tointeract (e.g., enter into transactions, make reservations, provideand/or receive contact information, etc.) with various entitiesassociated with the content provided to device 10. For example, as auser selects additional content (e.g., additional content such asadditional content 84 shown in FIG. 8), a user may be permitted to, forexample, make dinner reservations (including automatically making anappointment in a calendar application), enter into transactions such aspaying for a dinner, etc., exchange contact data with ad sources andother entities, and so on.

The systems and methods described herein may be implemented to providedata to a wide variety of mobile devices that may take a wide variety offorms (e.g., differing form functions, etc.) and have a wide variety offunctional capabilities such as visual display capabilities,input/output capabilities (e.g., touch screen, non-touch screen devices,etc.), audible output capabilities, etc. In some embodiments, thecontent provided to device 10 may be formatted based on thecharacteristics or capabilities of device 10. Alternatively, device 10may be configured to receive the content and perform such formattingbased on data stored on device 10, accessible via device 10, provided aspart of the content itself (e.g., as embedded data or formattinginstructions) and so on. The formatting may further be performed for awide variety of devices (e.g., a handheld device, a relativelysmaller-sized device such as a watch, etc., a relatively larger-sizeddevice such as a television, etc.), and so on.

In some embodiments, device 10 may be configured to provide and/orformat content such as advertisements etc. as sessions change (e.g., asan application moves through different modes or states such asdownloading, launch, a ready/usage state, ending/shut-down, etc.). Forexample, a user may download an application to device 10, during whichcontent may be provided in the form of, for example, dynamic and/orstatic ads, sponsorships, etc. When the application is launched aninitial “splash screen” (e.g., a screen or page provided to the userwhile an application is launched) may be displayed that includes contentsuch as advertisements, etc., and as the application transitions to a“ready” state (e.g., ready to be used by the user), one or moreinterstitial pages may be provided with further content. Similar contentmay be provided as the application is closed or shut down.

In some embodiments, while an application is in use, or active, certaindisplay portions or areas may be dedicated to content such asadvertisements on a permanent or temporary basis. Alternatively, device10 may provide users with alerts or other notifications that includerelevant content such as advertising or other data. Further, forapplications having searching capabilities, content such as sponsoredlinks or logos, etc. may be provided in connection with various searchqueries. Further yet, certain content provided by device 10 may includebrand information such as logos, etc.

Referring now to FIG. 10, a system and method for performing a functionbased on past uses of a mobile computing device or behaviors of a userof the mobile computing device will be described. One or more componentsof the system and method may be operable as an algorithm on the mobilecomputing device, on a server computer in communication with the mobilecomputing device, or on another computing device in communication withthe mobile computing device. At a step 1000, a memory is configured tostore use data indicative of a pattern of past uses of the mobilecomputing device. The memory may store the data temporarily and thenback up the data to a remote server, may receive the data from a remoteserver configured to monitor and store use data, or may store the usedata for a longer period. The use data can represent a past behavior ofa user of the device.

The use data may be retrieved or determined based on data from one ormore sources operating on the mobile computing device or remote from thecomputing device, such as a location determination circuit, a time ofday clock, a source of a date and day of the week, a database ofgeographic points of interest (e.g., location and extent of a parkinglot, restaurant, bridge, gas station, etc.), a mass transit scheduledatabase or other database stored on a remote server, a phone call log,an application store available on a remote server for downloading newsoftware applications, an on-line reservation system for a restaurant,train, etc., a wireless transceiver circuit configured to receivewireless signals (e.g., radio frequency, infrared, etc.) from nearby orremote devices, metadata for one or more audio music files recentlyplayed by the user, textual input from a user entered via a keyboard ordata from any other application operating on the mobile computingdevice, such as a calendar application, contacts application, phoneapplication, notes application, task list application, gamingapplication, music and/or video player application, etc.

A pattern of past uses may comprise a plurality of past uses of themobile computing device, based on any of the use data described herein.

At step 1002, the system is configured to determine or detect a presentcondition, situation, or context of the mobile computing device and/oruser thereof. The present condition may be one which is currentlyapplicable, or recently applicable, to the device (e.g., detecting thatthe mobile device has just passed a point of interest may be a presentcondition for some period of time). The present condition may beretrieved or determined based on data from one or more sources operatingon the mobile computing device or remote from the computing device, sucha traffic data available from a remote site (e.g., such as Google Maps),a calendar application, a date and/or time of day source, a locationdetermination circuit, a source of geographic point of interest data, anapplication store available on a remote server for downloading newsoftware applications, user inputs, a time counter configured to detectthe passage of one or more predetermined periods of time, a distancecounter configured to detect a traveled distance, a navigationapplication configured to determine a route traveled, a wirelesstransceiver circuit configured to receive wireless signals from nearbyor remote devices, or other data sources.

At step 1004, the mobile computing device may be configured to perform afunction based at least on the use data and the present condition. Thefunction comprise generating a notification to the user, such as bydisplaying a message, alert, textual data, etc. in a window, fullscreen, etc., and/or by providing an audible alert, such as a beep,series of beeps, playing an audio file, etc and/or by vibrating orproviding other outputs to the user. The function may further compriseperforming operations within other applications operable on the mobilecomputing device, such as adding a resource locator link and/oridentifier to a “favorites” or bookmark list in a browser application,adding a phone number to a list of frequently called numbers, etc. Thefunction may further comprise delaying a function to be performed, suchas delaying a download of data or a synchronization operation. Thefunction may further comprise downloading a program from a servercomputer, filtering a list of potential files to be downloaded topresent a subset of the list to the user for selection, running a searchon a local or remote geographic information database, calculating aroute using a navigation or mapping application, etc. The function mayfurther comprise sending wireless data to a remove device containing acommand, request, alert, or other data.

Various embodiments are contemplated of processing circuits programmedwith algorithms for tracking a user's behavior and performing functionsbased on the past experience or historical knowledge of the user. Asmentioned, the algorithms may be operable on processing circuitry on themobile computing device, a server computer, or portions of the algorithmon both a mobile device and a server computer. The algorithms may beoperable to predict one or more functions the user may wish to performwith the device based on the past experience or historical usage of thedevice and may be configured to perform the one or more functions basedon one or more present conditions, such as a triggering event oroccurrence. The mobile device may be configured to suggest a functionand await user confirmation (e.g., via pressing a key, speaking into amicrophone on the device, etc.) or may be configured to perform thefunction without awaiting user confirmation.

According to one embodiment, a processing circuit may be configured togenerate an alarm to wake up a user at a time earlier than apredetermined typical wake-up time based on a present condition of datafrom a traffic report indicating traffic is worse than usual along apredetermined traveling route. The processing circuit may be configuredto determine based on time of day and location based signals collectedover a plurality of days the predetermined traveling route. Theprocessing circuit may further be configured to store data indicative oftypical or average traffic conditions at one or more points along theroute. The mobile device may be configured to receive a user selectionof an alarm time. Each morning, the processing circuit may be configuredat some predetermined time period prior to the selected alarm time toreceive current traffic data along the predetermined traveling route,calculate or retrieve from memory a time period, subtract the timeperiod from the user-selected alarm time, and then program the mobiledevice to provide the alarm at the new time. According to anotherembodiment, the processing circuit may be configured to determine whenthe mobile device arrives at a location (e.g., a place of work) and tosuggest a new alarm or wake-up time based on one or more previouscommute times stored by the processing circuit to assist the user inarriving at work more reliably at a predetermined time. For example, ifthe processing circuit detects the user repeatedly arrives at 8:05 AMand has an alarm set to 6:30 AM, the processing circuit may determinethat the user intends to arrive at work at 8:00 AM and to suggest theuser switch the alarm time to 6:25 AM.

The processing circuit may be configured to learn over a period of daysor weeks where a user will be located with the device at a given time(e.g., during a commute, during lunch, etc.) based on past experienceand to predict a function needed by the user at a present or future timebased on the data indicative of past experience or behavior. In otherembodiments, the mobile device may be configured to receive certain datato replace or supplement the use data or past experience data, such as adesired lunch time, a commute route, current location, etc.

According to another embodiment, a processing circuit may be configuredto monitor the presence and/or signal strength of wireless networks atlocations along a route, such as a frequently traveled route, such as acommute route or weekend vacation route. The processing circuit may beconfigured to store one or more locations at which a wireless signalbecomes weaker or unavailable (e.g., “dead spots”, weak spots, etc.).Upon a subsequent trip, the mobile device may be configured to notify auser via an alert or other alarm that a dead spot is approaching. Thedevice may further be configured to suggest other available networks fora handoff of a wireless communication session, such as a voice or datasession, which may be a handoff to a cellular network of a differentcarrier, to a Wi-Fi access point, etc. The data of other wirelessnetworks may be stored in a memory from previous data collected by themobile device along the route or may be retrieved from acommercially-available database of network data accessible on a servercomputer (e.g., a database offered by Boingo Wireless, Inc., LosAngeles, Calif.). In another embodiment, the processing circuit may beconfigured to store present and/or signal strength of wireless networksat any location, regardless of any route data. The processing circuitmay further obtain such data via download from a server. The processingcircuit may be configured to change the behavior of the phone based onknowledge of the level or quality of wireless connectivity the devicewill have in certain locations. For example, if the device will beapproaching a good Wi-Fi network, the device may be configured to delaya wireless download and/or upload operation until the device reaches theWi-Fi network. This feature may be useful for downloading softwareupdates to the mobile device, software patches or new versions ofsoftware, or other data to be communicated wirelessly. The processingcircuit may be configured to schedule wireless communications based onpredictions of where the device will be at times of the day (e.g., basedon a current route, projected route, location and time data from priordays (e.g., the mobile device is home after 6 pm each night for aplurality of nights in communication with a Wi-Fi network with asuitable signal strength), or other based on other characteristics).

According to another embodiment, a processing circuit may be configuredto store user preferences or rankings associated with locations and/ortypes of events previously attended. In response to an indication thatthe user will participate in a present or future event at a similarlocation or of a similar types, the device may be configured to alertthe user that the user previously indicated they did not want to visitthese types of events or locations. The processing circuit may alsoreceive current traffic data and further provide the alert based on thecurrent traffic data to suggest that the user may not want to attend theevent because of traffic. In this embodiment, the processing circuit maybe configured to learn what not to do based at least in part on thingspreviously done with the device and optionally also in response to auser ranking or assessment of the location or event.

According to another embodiment, a processing circuit may be configuredto store a plurality of user-selectable time zones in a list based onlocations previously visited by the mobile device. According to anotherembodiment, the mobile device may be configured to learn a time zone ofa person associated with a contact in an contacts location based on theuser of the mobile device traveling to visit the person. The time zonemay be stored in the contact data file. According to one example, themobile device may be configured to generate an alert for the user if theuser initiates a telephone call to the contact and a time of day sourceindicates that based on the time zone, the time may be received by thecontact at an inconvenient time, such as after and/or before apredetermined time of day, as indicated by a time of day source and thetime zone associated with the contact. Also, the contacts applicationmay be configured to display data indicative of a time of day at thecontact's location based on time of day data and the time zoneassociated with the contact.

According to another embodiment, a processing circuit may be configuredto store data indicative of where the mobile device has traveled to,such as a foreign country, outside of a home state (as determined basedon use data indicating past location), etc. The processing circuit maythen be configured to download applications or suggest applications fordownload to the user based on the data indicative of where the mobiledevice has traveled to. For example, if the device has recently traveledto a foreign country, the device may be configured to identify one ormore applications relating to the foreign country available for downloadfrom a remote server or items available for purchase (e.g., aFrench/English dictionary, a currency exchange application, etc.) and tonotify the user of the availability of such applications or items (e.g.,a travel book). In this manner, the recently-traveled data may be usedas a filter for an application store or other function of the device ora server in communication with the device. The recently-traveled datamay further comprise frequency of travel data or number of travel eventsdata, to distinguish a location infrequently visited from one frequentlyvisited, which data may further be used to filter applications fordownload or items for purchase. For example, if a user frequentlytravels to France, the mobile device may be configured to suggestdownloading applications operable or items written in the Frenchlanguage instead of English language.

According to another embodiment, a processing circuit may be configuredto store metadata associated with one or more applications downloadedfrom a remote server. The processing circuit may then be configured tofilter applications available for download or items available forpurchase based on one or more of the metadata items. For example, if auser frequently downloads gaming applications, the processing circuitmay detect a user request to access an application store at a serverand, in response, the processing circuit may be configured to filter aset of applications available for download based on thefrequent-download data and to present to the user one or more or onlygaming applications. According to yet another embodiment, the processingcircuit may be configured to filter applications for download based onapplications that are downloaded and frequently used (or recently used),to further reduce the number of applications to be viewed by the user ofthe mobile computing device.

According to another embodiment, the processing circuit may beconfigured to store data indicating the mobile device has been used ator in association with a restaurant or other dining location. The usedata may comprise data indicating that a dinner reservation has beenmade using the mobile device and dinner reservation web site, that aphone call has been placed to the restaurant, that the device hasentered the restaurant based on location data, that the device has beenused to make a purchase at the restaurant, such as with a near-fieldcommunication device or other transaction processing circuit, etc. Theprocessing circuit may be configured to store data about the restaurantalong with data about other restaurants similarly gathered. Theprocessing circuit may be configured to determine that a user maypresently wish to review restaurant suggestions, which may be determinedbased on time of day (e.g., lunch time, dinner time, etc.), based on auser request to review restaurants suggestions, or based on otherpresent conditions. The processing circuit may then function to generateone or more restaurant or dining location suggestions based on the prioruse data and to present the one or more restaurant suggestions to theuser, optionally along with location, web site, phone number, mapping,reviews, and/or other data about the restaurant. According to anotherembodiment, if the processing circuit detects that the user is visiting(e.g., from location data) or plans to visit (e.g., from calendar data,a reservation made using the phone, etc.) a restaurant that has beenvisited before, been recently visited, and/or been frequently visited,the processing circuit may be configured to suggest a new dish for theuser to try, based on dish data received from the restaurant or from aserver configured to store dishes recommended by other patrons or byfriends in a friend list stored by the mobile device.

According to another embodiment, a processing circuit may be configuredto identify one or more gas stations at which a user of a mobile devicehas recently or frequently fills up their car with gas. The processingcircuit may identify the gas station based on one or more of locationdata, point of interest information (e.g., comprising a location of agas station and data indicating the point of interest is a gas station),a period of time between visits to the gas station and/or other gasstations (which may indicate whether the gas station was visited for agas purchase or for a non-gas purchase), transaction data indicating themobile device was used to make a transaction to purchase gas (e.g.,using a near-field communication device or other transaction circuit),or other data. The processing circuit may then be configured todetermine a present condition, such as a present location of the deviceapproaching or located at the gas station, a predetermined period oftime having passed and/or distance having been traveled at vehiclespeeds since the last gas fill-up (e.g., which may indicate that theuser's vehicle will soon be in need of fuel), the user traveling near asecond gas station selected as described below, and/or other presentconditions (e.g., a user turning on the device). The processing circuitmay be configured to perform one or more of the following functionsbased on the identified gas stations and present condition: perform asearch of a remote web site for nearby gas stations offering a lowerprice on gas (e.g., which may include a special, coupon, etc.), presentan alert to the user comprising information about the lower price andlocation, provide directions, a map, or other data about the gasstations offering the lower price.

According to another embodiment, a processing circuit may be configuredto present advertisements to a user via the user's mobile computingdevice based on past usage data of the mobile computing device, such asa past location (e.g., a point of interest recently visited, a point ofinterest frequented or visited a plurality of times in a predeterminedtime period, etc.).

According to another embodiment, a processing circuit may be configuredto receive a user request for a point of interest or other retaillocation, which may be provided generically by the user (e.g., a barber,a dry cleaner, a book store, a restaurant, etc.) and may includeadditional criteria about the point of interest to be found (e.g., apredetermined rating level, such as at least two stars, a price range,etc.). The processing circuit may be configured to identify one or morepoints of interest meeting the criteria provided by the user basedfurther on location data representative of a route previously orfrequently traveled by the user in the past (e.g., a daily commute).Based on the travel history of the device, the processing circuit may beconfigured to identify one or more points of interest along the route,near a point on the route, or closer than other points to the route, andto present the points of interest to the user, such as in an alert, on amap, etc. This functionality may be operated from within a task list ornotes application operable on the mobile device, to assist the user incompleting a task entered by the user (e.g., “get a haircut,” “drop offdrycleaning,” etc.).

According to another exemplary embodiment, a processing circuit may beconfigured to store use data from a telephone call log (e.g., phonenumbers, times of calls, persons called incoming our outgoing, etc.).The processing circuit may be configured to perform functions based onthe telephone call log information and any present condition. Forexample, if the processing circuit determines that phone calls have beenmade to Chinese restaurants (e.g., recently, frequently, exclusively,etc.), which may be based on data from the call log and/or data from aweb site or other server configured to provide additional data tosupplement data from the call log, the processing circuit may beconfigured to determine and/or store a preference for Chineserestaurants. If a present condition is met, such as a time of dayrepresenting a typical time to eat (e.g., noon, 6 pm, etc.), a typicaltime to eat for the user based on previous times during which the userhas eaten (e.g., based on calendar data, location data, reservationsmade using the mobile device, dining transactions made using the mobiledevice, periodic eating at a particular restaurant (e.g., every Mondayis Chinese food day), etc.), the processing circuit may be configured toprovide a function of alerting or suggesting to the user a restaurant ornearby restaurant based on the data (in this case, a Chineserestaurant), or to prompt the user to confirm placing a phone call to afavorite restaurant to place an order or make a reservation. The mobiledevice may be configured to store preferred menu items and to transferthe menu items as an order to the restaurant through a web site, textmessage, etc. at a predetermined time and in response to userconfirmation to place the order. The mobile device may be configured toprompt the user (e.g., “the usual?”).

According to another embodiment, the processing circuit may beconfigured to store data representative of a mass transit service (e.g.,bus, train, flight, etc.) used or frequently used by a user of themobile device. The data may be stored based on location data indicatingtravel along a mass transit route (e.g., a train track or rail line),typically a plurality of times to indicate a pattern or frequency oftravel. The processing circuit may then be configured to retrieve dataindicating a delay or cancellation in the mass transit route typicallytraveled, which may be a present condition. The processing circuit maybe configured to alert the user of the mobile device as to the delay orcancellation.

Accordingly to another embodiment, the processing circuit may beconfigured to determine that the mobile device has traveled along two ormore different routes, at least one of which has been traveled aplurality of times indicating some frequency or regularity of the travelroute. The processing circuit may be configured to determine a presenttraffic condition and, based on the present traffic condition and pastroute data, display a recommendation to the user as to which of the twoor more different routes to travel. According to another embodiment, theprocessing circuit may be configured to determine that the mobile devicehas repeatedly traveled a first route, that an alternative route isavailable which may be a better route for one or more reasons (e.g.,shorter travel time, less traffic, less uncertainty due to potentialtraffic issues, shorter travel distance, the route goes near a point ofinterest determined to be of interest to the user, etc.).

According to another embodiment, a processing circuit may be configuredto store data indicating a preferred parking lot, such as in an urbansetting, at an airport, etc. The preferred or historical parking lotdata may be used by the processing circuit to provide an indication theuser that the preferred parking lot is full, closed, etc., using datafrom a web server monitoring the parking lot capacity and status. Theprocessing circuit may provide the indication in response to determiningthat the user is approaching the parking lot.

According to another embodiment, a processing circuit may be configuredto store data indicative of prior music files played by the mobiledevice and one or more elements of metadata about the prior music files,frequency of playing each music file, date of download or stored on themobile device, etc. Based on one or more of this data, the processingcircuit may be configured to search for additional music files forpotential download, using similar styles, artists, genre, etc., and tosuggest the additional music files to the user. The processing circuitmay further be configured to search for concerts coming to town based onhistorical music file data, recent location data of the device,determined musical tastes, etc. and to provide an alert to the user ofthe concert coming to town, for example with a text or e-mail messagecontaining a link for the user to click on to see concert information,order tickets, etc.

According to another embodiment, the processing circuit may beconfigured to determine a home location from an address data stored in acontact for oneself, based on data indicating the mobile device returnsto that location every night or otherwise daily, or based on other data.The processing circuit may then be configured to determine when themobile device is approaching the home (e.g., a predetermined distance ortime away from the home), based on determining that the mobile devicehas traveled certain points along a previously-traveled route home, andto provide a wireless message to a system in the home or to anothermobile or fixed computing system based on the determination that thatthe device is approaching or nearing the home. For example, if the homeis equipped with a home automation or control system (e.g., securitysystem, lighting system, door locking system, audio control system, HVACcontrol system, etc.) having web access or access to a cellular network,the mobile device may be configured to send a message to the homecontrol system to control one or more of the systems (e.g., disable orcheck security system, turn on lights, unlock doors, etc.). As anotherexample, the mobile device may be configured to send a text message toanother mobile device (e.g., a spouse's or other family members' mobiledevice) to advise them that the user is nearing home (e.g., “dad will behome in about 5 minutes,” etc.). In alternative embodiments, the messagemay be based on approaching another location or system other than thehome, such as a vehicle, and may further be based on data indicating themobile device is moving away from another location or system, such as ashopping mail. In such an embodiment, the mobile device may send amessage to the vehicle (e.g., directly via Bluetooth or othershort-range wireless network, or indirectly via a cellular or Wi-Finetwork) to command the vehicle to unlock the doors, release the trunkdoor, and/or remote start the vehicle.

According to another exemplary embodiment, the processing circuit may beconfigured to detect a use of the mobile device, such as visiting a website (or visiting it frequently or a plurality of times in apredetermined time period), making a phone call (or calling a particularnumber frequently or a plurality of times in a predetermined timeperiod), etc. The processing circuit may be configured to perform afunction based on the detected use, such as adding a bookmark, favorite,or link to a list of such favorites in a web browser application,wherein the link is associated with the web site visited. In anotherembodiment, a phone number may be added to a speed dial list (e.g.,having a predetermined number or number sequence associated with itshorter than the phone number, having an icon which can be tapped, suchas with a photo of the person associated with the phone number, etc.)based on the phone call data. In another embodiment, the processingcircuit may be configured to display an alert based on afrequently-called person approaching the mobile device, may display amap showing their location, etc. In another embodiment, the processingcircuit may be configured to determine that another mobile device istypically detected in the proximity of the mobile device at apredetermined time each day or on certain days and that the device hasnot been detected in proximity. The processing circuit may then beconfigured to prompt the user to phone or contact the mobile device ofthe other person. One use of this embodiment may be at a constructionsite where one or more workers are expected to be located at the site ata predetermined time and a mobile device monitors the locations of themobile devices of the workers to confirm they have arrived, and to senda communication to the other mobile devices which have not yet arrived(e.g., a text message, phone call, etc.). The expected time of arrivaland devices expected may be received via manual input from a user or maybe detected based on prior history at the work site and stored in amemory on the mobile device or a server in communication therewith.

According to another embodiment, the processing circuit may beconfigured to determine use data based on when the device is turned onor off (or allowed to power off) by a user. For example, if theprocessing circuit determines that the device is typically powered offafter 10 PM and night powered on until 5 AM, the processing circuit maybe configured to schedule or delay certain wireless download,synchronization, virus scan, or other operations until the time of after10 PM and/or before 5 AM. The device may further be configured to stopcertain operations initiated before a predetermined time period based onan expectation that the user will turn on and use the device, againbased on data stored regarding prior usage of the device. In anotherembodiment, the processing circuit may be configured to determine thatthe mobile device is located at a work location and may be configured(automatically or in response to a user request) to stop, delay, orcease synchronization of data, such as e-mails, based on an assumptionthat the user will be handling e-mail communications from a laptop ordesktop computer while at work or while at a particular location of work(e.g., the desk versus the lab). Battery life of the mobile device maybe conserved using such a feature.

According to another embodiment, a processing circuit is configured todetermine that the mobile device is located in a city, state, country orother geographic location not previously visited by the device (or notpreviously detected by the program operating the feature).Alternatively, the processing circuit may determine that the mobiledevice is located at a hotel or other lodging point and to determinethat the mobile device may want additional data based on the fact thatthe user is staying at a hotel. The processing circuit may be configuredto prompt the user to indicate whether the user is traveling forbusiness or pleasure. The processing circuit may then be configured toprovide data indicative of local points of interest and/or events (e.g.,things to do, restaurants, attractions, events, etc.) based on thedetermination and/or collected user input. The processing circuit may beconfigured to provide restaurant, entertainment, local history, news, orother data to the user based on the determination and/or collected userinput.

According to another embodiment, the mobile device may be configured tooperate a clock application. A processing circuit may be configured todetermine a home time and local times for places visited or commonlyvisited, based on use data (e.g., where the device is used, for how longthe device is used at each location, etc.), and to store these times inthe clock application. Any of the functions described herein may then beperformed based at least in part on the time information.

According to another embodiment, a processing circuit may be configuredto determine times of the day during which a user of a mobile device istypically at work. For example, the device may receive a user selectionor input of a work location, or the processing circuit may determine awork location based on a location the device is typically at for asignificant portion of a day, estimating based on typical work hours inany one of a plurality of different shifts. The processing circuit maythen be configured to determine whether an appointment in a calendarapplication is scheduled for a time that the user is not typically atwork, and may be configured to provide additional reminders or alerts ofthe meeting beyond a reminder or alert that would typically be providedfor a meeting scheduled during typical work hours. For example, thereminders may be greater in number, may use more output devices (e.g.,display, speaker, vibration, phone call to home, instant message or textmessage to second computing device, etc.), may be earlier (e.g., morethan an hour before the meeting), may be provided during typical workhours regardless of the time of the meeting, etc.

It should be understood that the various systems and methods describedherein may be implemented on or via device 10, via one or more ofservers 50, 52 (e.g., a server associated with an ad service, etc.), orvia other devices/components and any combination(s) thereof, and allsuch combinations are deemed to be within the scope of the presentdisclosure. One or more of device 10 and/or servers 50, 52 may serve asa “content manager” or “offer manager” to manage, trigger, filter,and/or otherwise control the delivery of content (e.g., advertisements,offers, etc.) to device 10. References to a processing circuit mayinclude use of multiple processing circuits, such as one operable on amobile device and one operable on one or more server computers.

Various embodiments disclosed herein may include or be implemented inconnection with computer-readable media configured to storemachine-executable instructions therein, and/or one or more modules,circuits, units, or other elements that may comprise analog and/ordigital circuit components configured or arranged to perform one or moreof the steps recited herein. By way of example, computer-readable mediamay include RAM, ROM, CD-ROM, or other optical disk storage, magneticdisk storage, or any other medium capable of storing and providingaccess to desired machine-executable instructions.

While the detailed drawings, specific examples and particularformulations given describe exemplary embodiments, they serve thepurpose of illustration only. The hardware and software configurationsshown and described may differ depending on the chosen performancecharacteristics and physical characteristics of the computing devices.The systems shown and described are not limited to the precise detailsand conditions disclosed. Furthermore, other substitutions,modifications, changes, and omissions may be made in the design,operating conditions, and arrangement of the exemplary embodimentswithout departing from the scope of the present disclosure as expressedin the appended claims.

1. A mobile computing device, comprising: a memory configured to storeuse data indicative of a pattern of past uses of the mobile computingdevice; and a processing circuit configured to determine a presentcondition and to perform a function based at least in part on the usedata and the present condition.
 2. The mobile computing device of claim1, wherein the use data comprises location data based at least in parton past uses of the mobile computing device at a location.
 3. The mobilecomputing device of claim 2, wherein the use data comprises route dataindicative of a route traveled by the mobile computing device aplurality of times.
 4. The mobile computing device of claim 2, whereinthe use data comprises point of interest data indicative of a point ofinterest visited by the mobile computing device.
 5. The mobile computingdevice of claim 1, wherein the use data comprises data uploaded to ordownloaded from a remote server computer.
 6. The mobile computing deviceof claim 1, wherein the use data comprises application data indicativeof a plurality of applications downloaded from a remote server computer.7. The mobile computing device of claim 1, wherein the use datacomprises device power data indicative of an approximate time of day thedevice has been powered up and/or powered down.
 8. The mobile computingdevice of claim 1, wherein the present condition data comprises locationdata representing a present location of the device.
 9. The mobilecomputing device of claim 8, wherein the present condition datacomprises a route currently being traveled or point of interest dataindicating a point of interest in the present proximity of the mobilecomputing device.
 10. The mobile computing device of claim 8, whereinthe present condition data comprises traffic data indicative of trafficalong a route indicated by the past usage data.
 11. The mobile computingdevice of claim 1, wherein the present condition data comprises dataindicating that a predetermined time period has ended or that apredetermined distance has been traveled by the mobile computing device.12. The mobile computing device of claim 1, wherein the functioncomprises providing a notification to a user of the device.
 13. Themobile computing device of claim 12, wherein the notification comprisestext displayed on a display coupled to the processing circuit.
 14. Themobile computing device of claim 1, wherein the function comprisesadding a phone number to a list.
 15. A mobile computing device,comprising: a processing circuit configured to access historical datafor the mobile computing device, the historical data comprising dataassociated with a usage pattern of the mobile computing device, theprocessing circuit configured to access location data for the mobilecomputing device, the location data indicating a current location of themobile computing device, the processing circuit configured to provide anotification to the user of the mobile computing device based at leastin part on the historical data and the location data.
 16. The mobilecomputing device of claim 15, wherein the processing circuit isconfigured to determine a predicted location for the mobile computingdevice based on historical data.